package threadTest.synchronizedTest;

import java.util.ArrayList;
import java.util.List;

/**
 * 功能描述: 缓冲区池测试 , 小鸡池
 *  为什么 会存在线程不执行的情况, 因为 多个线程 操作的不是同一个对象, 不是同一个地址的内存对象
 * 2024/02/21
 * <p>
 * ZhangYi
 */
public class BufferPoolChickenTest {
    public static void main(String[] args){
        int num =10;
        DataContainer dataContainer = new DataContainer(num);

        new Thread(()->{
            try {
                for (int i = 0; i < 100; i++) {
                    new ProducerChicken(dataContainer).produce();
                }
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }," 生产者 ").start();

        new Thread(()->{
            try {
                for (int i = 0; i < 100; i++) {
                    new ConsumerChicken(dataContainer).consume();
                }
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }," 消费者 ").start();
    }
}
